﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Transport.Core.Models.Settings;
using System.ComponentModel.DataAnnotations;
using Transport.Core.Models.Parcels;

namespace Transport.Areas.Administrator.Models
{
    public class TrackingModel
    {
        public int ParcelId { get; set; }
        public int TrackingId { get; set; }
        [Required(ErrorMessage = "Số vận đơn là bắt buộc nhập.")]
        public string TrackingNumbers { get; set; }
        public string DeliverToName { get; set; }
        public int PostOfficeId { get; set; }
        public string PostOfficeName { get; set; }
        public int Status { get; set; }
        public string StatusName 
        {
            get
            {
               return TrackingStatus.GetStatus(Status);
            }
        }
        [Required(ErrorMessage = "Ngày gửi là bắt buộc nhập.")]
        public DateTime DateOfSending { get; set; }
        public int StateProvinceId { get; set; }
        public List<StateProvince> StateProvinces { get; set; }
        public List<PostOffice> PostOffices { get; set; }
        [StringLength(128, ErrorMessage = "Người nhận tối đa là 128 kí tự.")]
        public string Receiver { get; set; }
        public DateTime ReceivedDate { get; set; }
        public string CustomerName { get; set; }
        public string DeliverFromName { get; set; }
        public string UserFullName { get; set; }
        public string Note { get; set; }
        public string ToAddress { get; set; }
    }

    public class DeliverySuccessModel
    {
        [Required(ErrorMessage = "Số vận đơn là bắt buộc nhập.")]
        public string TrackingNumbers { get; set; }
        [Required(ErrorMessage = "Người nhận là bắt buộc nhập.")]
        [StringLength(128, ErrorMessage = "Người nhận tối đa là 128 kí tự.")]
        public string Receiver { get; set; }
        public DateTime ReceivedDate { get; set; }
        public int ParcelLeft { get; set; }
    }

    public class VerifyCostModel
    {
        [Required(ErrorMessage = "Số vận đơn là bắt buộc nhập.")]
        public string TrackingNumbers { get; set; }
        public int PaymentType { get; set; }
        public int TotalWeight { get; set; }
        public decimal TotalCost { get; set; }
        public bool IsHandInput { get; set; }
        public string TotalCostDisplay { get { return String.Format("{0:0,0}", TotalCost); } }
        public decimal TotalCostHidden { get; set; }
        public int DeliverFromId { get; set; }
        public int DeliverToId { get; set; }
        public int? CustomerId { get; set; }
        public string CustomerName { get; set; }
        public string CustomerCode { get; set; }
    }
}